package com.eflow.model.service;

import com.eflow.model.domain.EflowUser;
import com.eflow.model.vo.EflowUserQuery;

import java.util.List;

/**
 * 任务待办Service接口
 *
 * @author eflow
 * @date 2021-02-26
 */
public interface IEflowUserService
{


    /***
     * 查询用户通过用户ID
     * @param userId
     * @return
     */
    public EflowUser selectUserByUserId(String userId);


    /***
     * 查询用户通过用户名
     * @param userName
     * @return
     */
    public EflowUser selectUserByUserName(String userName);


    /***
     * 通过用户查询条件查询用户列表
     * @param userQuery
     * @return
     */
    public List<EflowUser> selectUserListByUserQuery(EflowUserQuery userQuery);


    /**
     * 通过id集合获取用户列表
     * @param ids
     * @return
     */
    List<EflowUser> selectUserByUserIds(List<String> ids);

    /**
     * 通过部门id集合获取用户列表
     * @param ids
     * @return
     */
    List<EflowUser> selectUserByDeptIds(List<String> ids);

    List<EflowUser> selectUserIds(List<String> ids);

    /**
     * 获取指定用户部门下的指定角色的用户
     * @param userId
     * @param postId
     * @return
     */
    List<EflowUser> selectUserDeptPostUser(String userId,String postId);


    List<EflowUser> selectDeptPostUser(String deptCode, String postId);

    EflowUser selectProxyUserByUser(EflowUser user);

    List<EflowUser> selectProxyUserByUser(List<EflowUser> user);

}
